"""
@project:python起步.py
@author:zhujiahui
@IDE:PyCharm
@time:2021-07-21-22:02
@Introduction:
"""
# 局域网存活IP检测
# ·预备知识:python执行系统命令模块( subprocess)、IP地址处理模块(IPy)
# ·输入内容:要检查的网段、子网掩码(输入:192.168.0.0/24)
# ·输出示例:192.168.0.1已被使用
# ·将输出结果放到文件
# ·将可能存在异常的地方需要做相应处理

import IPy
import subprocess

def is_ip(address):
    try:
        global ips
        ips = IPy.IP(address)
        return True
    except:
        print('输入错误！')
        return False

ip_user = input("请输入要检查的网段，子网掩码：")
while (is_ip(ip_user) == False) :
    ip_user=input("请再次输入：")

fp=open("../局域网存活IP检测.txt", 'a+')

for i in ips:
    p=subprocess.Popen("ping -c 3 {0} \n".format(i),stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True )
    out,err = p.communicate()
    if p.returncode == 0:
        print(f"{i}通")
        fp.write(f"{i}已经被使用过了\n")
    else:
        print(f"{i}不通")
        fp.write(f"{i}未被使用过\n")

fp.close()